package com.ruicar.afs.cloud.account.common.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.modules.contract.enums.VoucherStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * @author infinity
 * @version 1.0
 * @date 2020/9/2 19:37
 */
@Data
public class VoucherTemplateEventsDto {
    @ApiModelProperty("唯一标识")
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long id;

    @ApiModelProperty("埋点编号")
    @NotBlank(message = "埋点编号不能为空")
    private String buriedPointNo;

    @ApiModelProperty("埋点名称")
    @NotBlank(message = "埋点名称不能为空")
    private String buriedPointName ;

    @ApiModelProperty("主业务事件")
    private String mainBusiness;

    @ApiModelProperty("主事件代码")
    @NotBlank(message = "主事件代码不能为空")
    private String mainBusinessCode;

    @ApiModelProperty("子业务事件")
    private String childBusiness;

    @ApiModelProperty("子事件代码")
    @NotBlank(message = "子事件代码不能为空")
    private String childBusinessCode;

    @ApiModelProperty("描述")
    private String description ;

    @ApiModelProperty("状态:new-创建 active-生效 invalidity-无效")
    private VoucherStatus status ;

    @ApiModelProperty("创建者")
    private String createBy;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新者")
    private String updateBy;

    @ApiModelProperty("更新时间")
    private Date updateTime;
    private String eventStatus;

}
